Toggle hide-ifdef-mode. Thus this is a minor mode, albeit a large one.
With arg, turn hide-ifdef-mode on iff arg is positive.
In hide-ifdef-mode, code within #ifdef constructs that the C preprocessor
would eliminate may be hidden from view. Several variables affect
how the hiding is done:
hide-ifdef-env
An association list of defined and undefined symbols for the
current buffer. Initially, the global value of hide-ifdef-env is used.
hide-ifdef-define-alist
An association list of defined symbol lists.
Use hide-ifdef-set-define-alist to save the current hide-ifdef-env
and hide-ifdef-use-define-alist to set the current hide-ifdef-env
from one of the lists in hide-ifdef-define-alist.
hide-ifdef-lines
Set to non-nil to not show #if, #ifdef, #ifndef, #else, and
#endif lines when hiding.
hide-ifdef-initially
Indicates whether hide-ifdefs should be called when hide-ifdef-mode
is activated.
hide-ifdef-read-only
Set to non-nil if you want to make buffers read only while hiding.
After show-ifdefs, read-only status is restored to previous value.
\\{hide-ifdef-mode-map}" "P"])
(fset 'hif-outline-flag-region #[(from to flag) "└ ┬Ä├╟U½â╚¬ü╟╔%*ç" [buffer-modified-p modp ((set-buffer-modified-p modp)) subst-char-in-region from to flag 10 13 t] 6 "\
Hides or shows lines from FROM to TO, according to FLAG. If FLAG
is \\n (newline character) then text is shown, while if FLAG is \\^M